package com.usian.wemedia.client;

import com.usian.common.dtos.PageResult;
import com.usian.common.dtos.ResponseResult;
import com.usian.model.admin.dtos.NewsAuthDto;
import com.usian.model.media.dtos.WmNewsDto;
import com.usian.model.media.dtos.WmNewsResultDTO;
import com.usian.model.media.dtos.WmUserDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author Fay
 * @date 2022/7/6&11:33
 */

/**
 * feign的远程调用 谁提供功能 谁提供调用接口
 */
@FeignClient("leadnews-wemedia") //开启服务端发现
public interface WemediaFeign {

    @GetMapping("/api/v1/wmuser/findByApUserId/{id}")
    public WmUserDto findByApUserId(@PathVariable("id") Integer ApUserId);
    @PostMapping("/api/v1/wmuser/save")
    public Integer save(@RequestBody WmUserDto wmUserDto);

    /**
     * 回显根据id查询
     */
    @GetMapping("/api/v1/news/one/{id}")
    public ResponseResult<WmNewsResultDTO> findById(@PathVariable(name = "id") Integer id);

    /**
     * 修改自媒体状态
     * @param wmNewsDto
     */
    @PutMapping("/api/v1/news/update")
    public void updateWmNews(@RequestBody WmNewsDto wmNewsDto);

    /**
     * 查询所有待发布的id
     * @return
     */
    @GetMapping("/api/v1/news/findPub")
    public List<Integer> findPub();
    /**
     * 查询文章列表
     *
     * @param newsAuthDto
     * @return
     */
    @PostMapping("/api/v1/news/list")
    public PageResult<WmNewsResultDTO> findWmNewsByPage(@RequestBody NewsAuthDto newsAuthDto);
}
